package com.notice.util;

import java.util.Objects;
import java.util.function.Supplier;

/**
 * @author DZL
 * @date 2023/1/13 15:13
 */
public class ObjectUtils {

    /**
     * 获取参数不为空值
     *
     * @param value defaultValue 要判断的value
     * @return value 返回值
     */
    public static <T> T nvl(T value, T defaultValue) {
        return Objects.nonNull(value) ? value : defaultValue;
    }

    /**
     * 获取参数不为空值
     *
     * @param target       目标对象
     * @param supplier        不为空的值
     * @param defaultValue 为空的值
     * @return 返回值
     */
    public static <T> T nvl(Object target, Supplier<T> supplier, T defaultValue) {
        return Objects.nonNull(target) ? supplier.get() : defaultValue;
    }
}
